package com.yzxb.messystem.mapper;

import com.yzxb.messystem.entity.ProductionRecord;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 生产记录Mapper接口
 * 使用MyBatis提供CRUD操作
 */
@Mapper
public interface ProductionRecordMapper {

    // 基础CRUD操作
    int insert(ProductionRecord productionRecord);
    
    int updateById(ProductionRecord productionRecord);
    
    int deleteById(Long id);
    
    ProductionRecord selectById(Long id);
    
    List<ProductionRecord> selectList(ProductionRecord productionRecord);

    // 根据工单ID查询生产记录
    List<ProductionRecord> findByWorkOrderId(Long workOrderId);
    
    // 根据记录类型查询生产记录
    List<ProductionRecord> findByRecordType(ProductionRecord.RecordType recordType);
    
    // 根据工作站查询生产记录
    List<ProductionRecord> findByWorkstation(String workstation);
    
    // 根据操作员查询生产记录
    List<ProductionRecord> findByOperator(String operator);
    
    // 根据班次查询生产记录
    List<ProductionRecord> findByShift(String shift);
    
    // 根据创建时间范围查询生产记录
    List<ProductionRecord> findByCreateTimeBetween(LocalDateTime startTime, LocalDateTime endTime);
}